#include "app.h"
#include "main.h"
#include "app_config.h"
#include "app_buzzer.h"

app_fsm_t app_fsm;
app_flag_t app_flag;
app_data_t app_data;

uint8_t init(void)
{
    uint8_t ret = 0;
    
    // 初始化蜂鸣器
    #if (use_buzzer == 1)
        if (app_buzzer_init() != BUZZER_ERR_OK) {
            // 蜂鸣器初始化失败，可以记录错误
            ret = 1;
        }
        
        // 播放开机提示音
        app_buzzer_play_boot();
    #endif

    #if (use_ssd1306 == 1)
        // OLED初始化代码
    #endif

    #if (use_st7789_dma == 1)
        /* TFT 屏幕 */
        LCD_init();
        UIShow_init();
        // 背景色
        UG_FillScreen(BACKGROUND_COLOR);
    #endif

    return ret;
}

uint8_t loop(void)
{
    // 处理LCD更新标志
    if (app_flag.lcd_flag) {
        // LCD更新处理
        app_flag.lcd_flag = 0;
    }
    
    // 蜂鸣器状态检查和处理
    #if (use_buzzer == 1)
        // 蜂鸣器中断处理在主循环中不需要额外处理
        // 因为已经在定时器中断中处理
    #endif
    
    return 0;
}